Property-based testingの対照概念がExample-based testing
Example-based testingとは、無数にある値から何がしかの基準で入力値を選択し、その入力値でコードを動かして、出力値と事後状態を確認する。つまり、普通に行われているテストですよね。
Property-based testingでは、一つのテストで数百個の入力に対する結果を検証します。
ここで検証するのは、個々の入力に対するそれぞれの出力そのものではなく、(有効な)入力「群」に対する出力「群」のすべてが、statementで規定された性質(property)を満たしていることです。